home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / SERVICES.PAK / OLE2INC.H < prev    next >
Text File  |  1997-05-06  |  2KB  |  64 lines

  1. //----------------------------------------------------------------------------
  2. // Borland Services Library
  3. // Copyright (c) 1994, 1997 by Borland International, All Rights Reserved
  4. //
  5. //$Revision:   5.6  $
  6. //
  7. // Includes OLE2 headers in the right order with necessary macros defined
  8. //----------------------------------------------------------------------------
  9. #if !defined(SERVICES_OLE2INC_H)
  10. #define SERVICES_OLE2INC_H
  11.  
  12. #if !defined(SERVICES_DEFS_H)
  13. # include <services/defs.h>
  14. #endif
  15.  
  16. //
  17. // If wsysinc.h hasn't been included yet, then let it pull in OLE2 if it can
  18. //
  19. #if !defined(SERVICES_WSYSINC_H)
  20. # if !defined(INC_OLE2)
  21. #   define INC_OLE2
  22. # endif
  23. # include <services/wsysinc.h>
  24. #endif
  25.  
  26. //
  27. // Well, if wsysinc.h already was included, or it didn't get OLE2 for us, then
  28. // try to get the headers now.
  29. // NOTE: If 'BOOL to bool' remapping was requested, OLE2 headers *must* be
  30. //       included via 'services/wsysinc.h'; i.e. define 'INC_OLE2' before
  31. //       including <services/wsysinc.h>
  32. //
  33. //
  34. #if !defined(__OLE2_H) && !defined(_OLE2_H_)
  35. # if defined(BI_REDEFINE_BOOL) && !defined(SERVICES_WSYSINC_H)
  36. #   error OLE headers must be included via services/wsysinc.h when redefining BOOL
  37. # endif
  38. # if defined(BI_PLAT_WIN16)
  39. #   if !defined(__OLE2_H) && !defined(_OLE2_H_)
  40. #     include <ole2.h>
  41. #   endif
  42. #   if !defined(__DISPATCH_H) && !defined(_DISPATCH_H_)
  43. #     include <dispatch.h>
  44. #   endif
  45. #   if !defined(__OLENLS_H) && !defined(_OLENLS_)
  46. #     include <olenls.h>
  47. #   endif
  48. # elif defined(BI_PLAT_WIN32)
  49. #   error Win32 Ole2 headers cannot be included after Windows.h, define INC_OLE2 first
  50. # else
  51.     // No OLE2 on non-MSW platforms currently
  52. # endif
  53. #endif
  54.  
  55. //
  56. // OLECHAR & BSTR is char under Win16, and wchar_t under Win32
  57. //
  58. #if !defined(BI_PLAT_WIN16)
  59. # define BI_OLECHAR_WIDE    // OLECHAR is wide (wchar_t)
  60. # define BI_HAS_WCHAR       // platform has wide char functions available
  61. #endif
  62.  
  63. #endif  // SERVICES_OLE2INC_H
  64.